package com.spic.business.hidden.governance.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.spic.business.common.core.workflow.WorkFlowEntity;
import com.spic.common.core.annotation.Excel;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 隐患排查治理对象 hidden_governance
 *
 * @author renxiang
 * @date 2021-10-15
 */
@Data
public class HiddenGovernance extends WorkFlowEntity
{
    private static final long serialVersionUID = 1L;
    /** 专业ID */
    private String professionalId;

    private String serialCode;

    /** 排查人员 id*/
    private String screeningPersonnel;

    //排查人员 name
    @Excel(name = "排查人员")
    private String screeningPersonnelName;

    /** 隐患地点 -发生地点 */
    private String hiddenPlaceAdder;

    /** 隐患地点 -清单项对应 */
    private String hiddenPlace;

    @TableField(exist = false)
    @Excel(name = "隐患地点")
    private String   hiddenPlaceName;
    /** 排查时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
    @Excel(name = "隐患时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date checkTime;

    /** 隐患等级  */
    @Excel(name = "隐患等级",dictType ="hazard_level")
    private String hazardLevel;

    /** 隐患类型 */
    //@Excel(name = "培训类型", dictType ="train_type")

    private String hazardType;

    @TableField(exist = false)
    @Excel(name = "隐患类型")
    private String  hazardTypeName;

    /** 隐患描述 */
    @Excel(name = "隐患描述")
    private String hiddenDescription;

    /** 整改措施 */
    @Excel(name = "整改措施")
    private String rectificationMeasures;

    /** 整改部门 */
    @Excel(name = "整改部门", cahceType = Excel.CacheType.DEPT)
    private String rectificationDept;


    /** 整改部门及其下属部门 */
    @TableField(exist = false)
    private List<Long> rectificationDepts;
    /** 整改人 */
    @Excel(name = "整改人", readConverterExp = "整改人",cahceType = Excel.CacheType.USER)
    private String rectificationPeople;

    /** 整改期限 */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @Excel(name = "整改期限", width = 30, dateFormat = "yyyy-MM-dd")
    private Date rectificationPeriod;

    /** 隐患状态 :新建 0
     * 待审核 02   待整改 03   待验收 04   待销号05   已销号 06 */
    @Excel(name = "隐患状态",dictType ="hazard_status")
    private String hazardStatus;

    /** 班次 */
    private String classesType;



    /** 隐患来源 */
    private String hazardSources;

    /** 系统分类 */
    private String systemType;

    //隐患类型 二级
    private String secondHazardType;

    /** 隐患备注 */
    private String hiddenRemrk;

    /** 隐患附件 */
    private String hiddenAttachment;

    private String fileName;


    /** 整改类型 */
    private String rectificationType;

    /** 整改要求 */
    private String rectificationRequire;


    /** 整改人id */
    private String rectificationPeopleId;

    /** 整改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date rectificationTime;

    /** 延期原因 */
    private String delayCause;

    /** 验收人 */
    private String acceptancePeople;

    /** 验收时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date acceptanceTime;

    private String rectificationImages;

    /** 验收意见 */
    private String acceptanceOpinion;

    /** 销号验收人 */
    private String eliminateAcceptancePeople;

    /** 销号验收时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date eliminateAcceptanceTime;

    /** 销号验收意见 */
    private String eliminateAcceptanceOpinion;


    @TableField(exist = false)
    private String year;
    @TableField(exist = false)
    private String month;

}
